<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>パッチ状況＆作業状況 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀Unicode版開発トップへ</a>
        <li><div class="list-title">
    <span class="no">155</span>
    <a class="thread-title" href="155.html#155">パッチ状況＆作業状況</a></div>
    <ul><li><div class="list-title">
    <span class="no">162</span>
    <a class="thread-title" href="155.html#162">Re:パッチ状況＆作業状況</a></div>
    <ul><li><div class="list-title">
    <span class="no">165</span>
    <a class="thread-title" href="155.html#165">Re2:パッチ状況＆作業状況</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">169</span>
    <a class="thread-title" href="155.html#169">現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">170</span>
    <a class="thread-title" href="155.html#170">RE: 現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">178</span>
    <a class="thread-title" href="155.html#178">Re2: 現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">189</span>
    <a class="thread-title" href="155.html#189">Re3: 現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">195</span>
    <a class="thread-title" href="155.html#195">Re4: 現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">199</span>
    <a class="thread-title" href="155.html#199">Re5: 現状報告と巨大変更反映の方針</a></div>
    </li><li><div class="list-title">
    <span class="no">210</span>
    <a class="thread-title" href="155.html#210">Re5: 現状報告と巨大変更反映の方針</a></div>
    <ul><li><div class="list-title">
    <span class="no">213</span>
    <a class="thread-title" href="155.html#213">Re6: 現状報告と巨大変更反映の方針</a></div>
    </li></ul></li></ul></li><li><div class="list-title">
    <span class="no">197</span>
    <a class="thread-title" href="155.html#197">Re4: 現状報告と巨大変更反映の方針</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">208</span>
    <a class="thread-title" href="155.html#208">画面仕様書</a></div>
    <ul><li><div class="list-title">
    <span class="no">212</span>
    <a class="thread-title" href="155.html#212">RE: 画面仕様書</a></div>
    <ul><li><div class="list-title">
    <span class="no">214</span>
    <a class="thread-title" href="155.html#214">Re2: 画面仕様書</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">259</span>
    <a class="thread-title" href="155.html#259">Re:パッチ状況＆作業状況</a></div>
    </li><li><div class="list-title">
    <span class="no">260</span>
    <a class="thread-title" href="155.html#260">Re:パッチ状況＆作業状況</a></div>
    </li></ul></li>
    </ul><ul class="main"><li><section><h1 id=155>
    <span class="no">[155]</span>
    <a class="thread-title" href="#155">パッチ状況＆作業状況</a>
    <span class="author">kobake</span>
    <time datetime="2008-02-23T23:40:56">2008年02月23日 23:40</time></h1>
    <div class="body">現在レビュー待ちのパッチです。<br>PatchUnicode#1880338 リファクタリング：ウィンドウ基底クラス作成<br>PatchUnicode#1880317 未保存文書のdiff不具合<br>レビューお待ちしております。<br><br><br>現在、自分のワーキングコピーでは<br>ファイル保存時に失われる文字がある場合にメッセージを出し、<br>ユーザに確認を促す、という機能を実装中です。<br><br><br>それに伴い、かなり大規模なリファクタリングを行っております。<br>変更行1000行くらい、<br>関数の移動（ファイル間、クラス間）も含めると<br>3000行くらいの変更になると思います。（数えてないのですけど）<br><br>これをどうリポジトリに反映させるかは、まぁ後から考えます、<br>ということでとりあえずコーディングに力を注ぎますけど、<br>今のうちにアドバイスがありましたらご教授いただけると、<br>それを見据えて作業できるかも？です。<br></div></section>
    <ul><li><section><h1 id=162>
    <span class="no">[162]</span>
    <a class="thread-title" href="#162">Re:パッチ状況＆作業状況</a>
    <span class="author">神楽</span>
    <time datetime="2008-03-02T00:02:14">2008年03月02日 00:02</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; 現在、自分のワーキングコピーでは<br>&gt; ファイル保存時に失われる文字がある場合にメッセージを出し、<br>&gt; ユーザに確認を促す、という機能を実装中です。<br>ついでできるような実装でなかったらごめんなさい。<br><br>秀丸等にある「ファイルオープン時に失われる文字がある場合にメッセージを出す」<br>（秀丸の場合は正確には「警告した上でコード変換に失敗した位置に移動できる」ですが）<br>というのも実装して頂けないでしょうか？</div></section>
    <ul><li><section><h1 id=165>
    <span class="no">[165]</span>
    <a class="thread-title" href="#165">Re2:パッチ状況＆作業状況</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-02T12:18:24">2008年03月02日 12:18</time></h1>
    <div class="body">▼ 神楽さん<br>&gt; ▼ kobakeさん<br>&gt; &gt; 現在、自分のワーキングコピーでは<br>&gt; &gt; ファイル保存時に失われる文字がある場合にメッセージを出し、<br>&gt; &gt; ユーザに確認を促す、という機能を実装中です。<br>&gt; ついでできるような実装でなかったらごめんなさい。<br>&gt; <br>&gt; 秀丸等にある「ファイルオープン時に失われる文字がある場合にメッセージを出す」<br>&gt; （秀丸の場合は正確には「警告した上でコード変換に失敗した位置に移動できる」ですが）<br>&gt; というのも実装して頂けないでしょうか？<br><br>ご意見ありがとうございます。<br>検討の範囲として頭には入れておきますが、<br>今の時点では「ついでにできそうではない」ので先送りになりそうです。<br><br>UNICODE版が本家正式版になった後に、(自分か自分以外の誰かによる) 随時実装になるかと思います。<br>気長にお待ちくださいませ。<br></div></section>
    </li></ul></li><li><section><h1 id=169>
    <span class="no">[169]</span>
    <a class="thread-title" href="#169">現状報告と巨大変更反映の方針</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-03T02:25:04">2008年03月03日 02:25</time></h1>
    <div class="body">現状報告です。<br>パッチ行数4万行超えました。<br>ANSI時代に溜まりに溜まっていた低保守性箇所の掃除をしています。<br>これをしなければ、今後の透明性のあるメンテナンスは不可能です。ご理解ください。<br><br>どんなことをしているのか気になる人は下記ソースを参照ください。<br>動かないですけど。<br><a href=http://mofmof.nsf.tc/soft/archives/sakura_core_080303_2.zip target=_top><nobr>http://<wbr>mofmof.<wbr>nsf.<wbr>tc/<wbr>soft/<wbr>archives<wbr>/<wbr>sakura_c<wbr>ore_0803<wbr>03_2.<wbr>zip</nobr></a><br>再来週くらいにブランチを作れれば、と思っています。<br><br>ソースコードレビューは不可能です。<br>バイナリのテストのみを予定しています。<br>不本意にテストが重複する無駄を避けるため、<br>テスト項目をリスト化します。<br>その後、分担してテストを行います。<br><br>さらに、ピアレビュー省略のコミット方針を予定しています。<br>ブランチをもうひとつ作り、そこに五月雨式にコミットしてもらいます。<br><br>本家トランクと同じ方針でやっていたのでは埒が明かないことが<br>わかってきましたので、すみませんが、UNICODEブランチでは<br>UNICODEブランチの独自方針で進ませてください。</div></section>
    <ul><li><section><h1 id=170>
    <span class="no">[170]</span>
    <a class="thread-title" href="#170">RE: 現状報告と巨大変更反映の方針</a>
    <span class="author">げんた</span>
    <time datetime="2008-03-05T00:00:53">2008年03月05日 00:00</time></h1>
    <div class="body">&gt;ANSI時代に溜まりに溜まっていた低保守性箇所の掃除をしています。<br>&gt;これをしなければ、今後の透明性のあるメンテナンスは不可能です。ご理解ください。<br>ありがとうございます．<br><br>&gt;本家トランクと同じ方針でやっていたのでは埒が明かない<br>(trunkは既にその状態に近いですが)自動testができる環境を整えないと大がかりな変更ができずにどんどん行き詰まってしまいます．テスト環境構築が得意な方が現れてくれるとラッキーなんですけど．<br></div></section>
    <ul><li><section><h1 id=178>
    <span class="no">[178]</span>
    <a class="thread-title" href="#178">Re2: 現状報告と巨大変更反映の方針</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-06T20:15:16">2008年03月06日 20:15</time></h1>
    <div class="body">▼ げんたさん<br>&gt; &gt;ANSI時代に溜まりに溜まっていた低保守性箇所の掃除をしています。<br>&gt; &gt;これをしなければ、今後の透明性のあるメンテナンスは不可能です。ご理解ください。<br>&gt; ありがとうございます．<br><br>ご理解ありがとうございます。<br><br>&gt; &gt;本家トランクと同じ方針でやっていたのでは埒が明かない<br>&gt; (trunkは既にその状態に近いですが)自動testができる環境を整えないと大がかりな変更ができずにどんどん行き詰まってしまいます．テスト環境構築が得意な方が現れてくれるとラッキーなんですけど．<br><br>自動テスト環境は欲しいっすねー。<br>その布石として、まずは人力によるテスト項目の洗い出しをしておくと良いと思います。<br><br>必要なのは、<br>「どんな状態で」<br>「何をすると」<br>「どんな状態になるか」<br>の3点です。<br>まずはこの3点を「定義」する必要があります。<br>これで主観に依存しない人力テストが行えるようになります。<br><br>そしてさらにこれらを「呼び出せるようにしておく」ことで、<br>自動テストの作成が可能になります。<br><br>テスト環境構築が得意な方が現れても、上記項目が<br>成し遂げられなければ、テストの作成しようがありません。<br>そして、よくよく考えてみると<br>上記項目を遂行できるのはサクラエディタに詳しい人間であり、<br>上記項目を遂行できた時点で、自動テストはほぼできたも同然ですから、<br>結局のところ今のメンバーでやっていく（もちろん新規参入大歓迎）というのが<br>現実的かな、と思います。<br>テスト対象範囲をしぼって、コツコツと構築していけば良いと思います。<br><br>偉そうなこと書いてますが、自分自身はテスト環境を構築したことはありません。<br><br>幸いにもテスト環境構築が得意な方が参入された場合に<br>協力いただきたい所を挙げるとすれば、<br>たとえば定期的にリポジトリから自動でソースをチェックアウトして<br>自動でビルドして自動で実行してエラーが発生した場合に<br>通知を行ってくれる（豪華！）といったような<br>フレームワーク的な要素の構築です。あともうひとつ、テスト作成に対するアドバイスです。<br>どちらにしても作業の大半はサクラエディタ自体の機能にあります。<br><br><br>長々と書いてしまいましたが、まずはUNICODE版をトランクまで辿り着かせることが先ですね。<br><br>何故未来のことをわざわざ今の時点で長々と書いてしまったか、というと、<br>上記作業は現在のコーディング作業とは独立して並行に進行できる要素だからです。<br>今の時点でテスト項目洗い出しをUNICODE版とは別ラインで並行して進めていただいても構いません。<br>＃自分はUNICODE版コーディングに精一杯なので、そちらには当分ノータッチだと思いますが。<br><br>もちろん、進めていただかなくても構いません（笑）。ただの希望と妄想ですから。</div></section>
    <ul><li><section><h1 id=189>
    <span class="no">[189]</span>
    <a class="thread-title" href="#189">Re3: 現状報告と巨大変更反映の方針</a>
    <span class="author">ac</span>
    <time datetime="2008-03-07T21:39:01">2008年03月07日 21:39</time></h1>
    <div class="body">&gt; 自動テスト環境は欲しいっすねー。<br><br>Windows 自動化ソフト　ＵＷＳＣ<br><a href=http://tools.rightclicksright.net/data/frame_9403.aspx target=_top><nobr>http://<wbr>tools.<wbr>rightcli<wbr>cksright<wbr>.<wbr>net/<wbr>data/<wbr>frame_94<wbr>03.<wbr>aspx</nobr></a><br><br>エディタ自身で自己テストするなら、エディタのマクロ機能(WSH)をうまく改良できれば...</div></section>
    <ul><li><section><h1 id=195>
    <span class="no">[195]</span>
    <a class="thread-title" href="#195">Re4: 現状報告と巨大変更反映の方針</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-08T08:51:27">2008年03月08日 08:51</time></h1>
    <div class="body">ソフトのご紹介ありがとうございます。<br><br>ちなみに一概にテストといっても様々な粒度があります。<br>・モジュールに対する入力と出力（クラスレベル、クラス群レベル）<br>・ソフト機能に対する入力と出力（アプリ内部レベル）<br>・ソフト機能に対する入力と出力（アプリ外部レベル）<br>等等。<br><br>モジュールレベルだとこんな感じのコードを<br>直接組み込む感じです。<br>void Test()<br>{<br>  //クラスCTestStringのテストを行う<br>  //どんな状態で<br>  CTestString s;<br>  //何をすると<br>  s.Assign("A");<br>  s.Append("B");<br>  //どんな状態になるか<br>  TEST_ASSERT(s.Equals("AB"));<br>}<br><br>外部レベルとだと、ご提示いただいたようなソフトや<br>WSHなどなど、が使えるかと思います。<br>何を使うのが適切か、は具体的にテストケースを検証してみないと分かりませんけど。<br>テストケースによっては外部テスト用の公開API or マクロを新しく用意する必要もあるかもしれません。</div></section>
    <ul><li><section><h1 id=199>
    <span class="no">[199]</span>
    <a class="thread-title" href="#199">Re5: 現状報告と巨大変更反映の方針</a>
    <span class="author">ac</span>
    <time datetime="2008-03-08T16:21:19">2008年03月08日 16:21</time></h1>
    <div class="body">部品レベルだと、それぞれのテストプログラム群を作っておけばいいですね。<br>正規表現などのテストで見たことがあります。<br>部品の品質を確保するという意味で有効だと思います。</div></section>
    </li><li><section><h1 id=210>
    <span class="no">[210]</span>
    <a class="thread-title" href="#210">Re5: 現状報告と巨大変更反映の方針</a>
    <span class="author">ac</span>
    <time datetime="2008-03-09T13:09:53">2008年03月09日 13:09</time></h1>
    <div class="body">CppUnitが良いかもしれません。<br>試験対象のクラスを継承して試験用のクラスを作り、そこに試験コードを埋め込みます。<br>各クラスを1個ずつテストするためのexeを作れればよいのですが、インクルードファイルの関係で難しいと思われます。<br>そこで、自動試験用の新しいビルドを作成し、試験用クラスを組み込んだexeを作ってしまって、メニューから実行してしまえばいけそうです。<br></div></section>
    <ul><li><section><h1 id=213>
    <span class="no">[213]</span>
    <a class="thread-title" href="#213">Re6: 現状報告と巨大変更反映の方針</a>
    <span class="author">げんた</span>
    <time datetime="2008-03-09T19:39:42">2008年03月09日 19:39</time></h1>
    <div class="body">&gt;CppUnitが良いかもしれません。<br>自分もCppUnitに注目していました．<br><br>&gt;各クラスを1個ずつテストするためのexeを作れれば<br>について．<br>1) 本体をEXEではなくライブラリとしてビルドする<br>2) TestSuite＋共通のrunner＋ライブラリ(自動で必要なところが取り出されるはず)<br>3) 実行<br>として，個別に試験できないかなと思っていました．<br><br>Windows APIを独自の関数で乗っとることで，たとえばMessageBoxで止まらないようにできれば，GUI部もある程度までは自動化可能かもと考えています．他にも，同じ関数・クラスでも，呼び出し先の戻り値を意図的に変える(MockObject?)ことで異常ケースを試験するような場合ではすべて1つの実行ファイルにはできないのではないでしょうか．<br></div></section>
    </li></ul></li></ul></li><li><section><h1 id=197>
    <span class="no">[197]</span>
    <a class="thread-title" href="#197">Re4: 現状報告と巨大変更反映の方針</a>
    <span class="author">ac</span>
    <time datetime="2008-03-08T12:32:33">2008年03月08日 12:32</time></h1>
    <div class="body">似たようなソフト<br><a href=http://www.ranorex.com/ target=_top><nobr>http://<wbr>www.<wbr>ranorex.<wbr>com/<wbr></nobr></a><br>Download&gt;<a href=http://www.brothersoft.com/ranorex-49756.html target=_top><nobr>http://<wbr>www.<wbr>brothers<wbr>oft.<wbr>com/<wbr>ranorex-<wbr>49756.<wbr>html</nobr></a><br></div></section>
    </li></ul></li><li><section><h1 id=208>
    <span class="no">[208]</span>
    <a class="thread-title" href="#208">画面仕様書</a>
    <span class="author">ac</span>
    <time datetime="2008-03-09T06:26:32">2008年03月09日 06:26</time></h1>
    <div class="body">画面についてだけ言えば、画面仕様書を作成すればよいと思います。<br>（すでに存在する画面から書き起こすので、比較的楽なはずです）<br>画面仕様書には、以下のような項目を記載します。<br><br>・番号<br>・項目名<br>・種別：ラベル、テキストボックスなど<br>・字種：数字、全角文字など<br>・属性：Enable,ReadOnly,Disable<br>・初期値：ラベルの場合はキャプション<br>・タブオーダ：<br>・ショートカット：ショートカットキーがある場合<br>・ID：IDC_BUTTON_XXX<br>・ヘルプID：HIDC_XXX<br>・下限値外<br>・下限値<br>・範囲内<br>・上限値<br>・上限値外<br>・構文チェック：条件判定がある場合記述<br>・備考<br><br>使うのはOpenOfficeかな(Excelは個人で持ってない人もいるし)。<br>htmlに変換してWebに掲載すればOpenOfficeがなくても見ることはできます。<br></div></section>
    <ul><li><section><h1 id=212>
    <span class="no">[212]</span>
    <a class="thread-title" href="#212">RE: 画面仕様書</a>
    <span class="author">げんた</span>
    <time datetime="2008-03-09T19:39:41">2008年03月09日 19:39</time></h1>
    <div class="body">&gt;画面についてだけ言えば、画面仕様書を作成すればよいと思います。<br>私には既に存在する画面の仕様書を別途作成するのが効果的だとは思えないのですが...<br><br>私の考え<br>1) 既にあるものの仕様書を個別に作っても実装の助けにならない<br>  (画面を考える人と実装する人が手分けするなら有効だと思いますが)<br>2) 設定画面は全体の中では複雑度＆バグった場合の影響が小さいので重要度が低い<br>3) 設定範囲等制限が必要な場所は，試験項目の方で救う方が有効ではないか．<br><br>エディタ部分では枠に当てはめて文字を表示しているのではないので，画面仕様書といってもどう書けばよいのかイメージがわきません．<br></div></section>
    <ul><li><section><h1 id=214>
    <span class="no">[214]</span>
    <a class="thread-title" href="#214">Re2: 画面仕様書</a>
    <span class="author">ac</span>
    <time datetime="2008-03-09T20:35:22">2008年03月09日 20:35</time></h1>
    <div class="body">自動試験の元ネタが欲しい場合にどっから手を付ければよいかと<br>思ったのですが、一応反論しておきます。<br><br>▼ げんたさん<br>&gt; &gt;画面についてだけ言えば、画面仕様書を作成すればよいと思います。<br>&gt; 私には既に存在する画面の仕様書を別途作成するのが効果的だとは思えないのですが...<br><br>それが正しいということを保証するために比較するネタがない。<br><br>&gt; 私の考え<br>&gt; 1) 既にあるものの仕様書を個別に作っても実装の助けにならない<br>&gt;   (画面を考える人と実装する人が手分けするなら有効だと思いますが)<br><br>ソースを読むための1機能の仕様書を作ることもすでにあるソースから作るので同じこと。<br><br><br>&gt; 2) 設定画面は全体の中では複雑度＆バグった場合の影響が小さいので重要度が低い<br><br>画面は人が直接接する最前線。<br><br><br>&gt; 3) 設定範囲等制限が必要な場所は，試験項目の方で救う方が有効ではないか．<br><br>その試験項目の元ネタがない。<br><br><br>「ソースがマニュアルであり、仕様です。」<br>と言ってるようなもの。<br>フリーソフトだからそれでいいんですけど。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=259>
    <span class="no">[259]</span>
    <a class="thread-title" href="#259">Re:パッチ状況＆作業状況</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-18T00:50:27">2008年03月18日 00:50</time></h1>
    <div class="body">パッチ公開が滞っていてすみません。<br>木曜の祝日あたりにガリガリ仕上げて公開する予定です。</div></section>
    </li><li><section><h1 id=260>
    <span class="no">[260]</span>
    <a class="thread-title" href="#260">Re:パッチ状況＆作業状況</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-23T23:46:23">2008年03月23日 23:46</time></h1>
    <div class="body">なんとか形はまとまってきたのですが、<br>予定よりかなり遅れて、まだブランチにはたどり着ける感じじゃないです。。すみません。<br>とりあえず現在のソースです。<br><a href=http://mofmof.nsf.tc/soft/archives/sakura_core_080323_5.zip target=_top><nobr>http://<wbr>mofmof.<wbr>nsf.<wbr>tc/<wbr>soft/<wbr>archives<wbr>/<wbr>sakura_c<wbr>ore_0803<wbr>23_5.<wbr>zip</nobr></a><br><br>セーブ、ロードの流れは<br>・CDocFileOperation の DoSaveFlow, DoLoadFlow<br>・CSaveAgent<br>・CLoadAgent<br>あたりにほぼまとまっています。<br></div></section>
    </li></ul></li></ul></body></html>